{	Problem: http://codeforces.ru/problemset/problem/79/B
	Verdict: Accepted
}
uses
        SysUtils, Math;

const
        nm:array[0..3] of string=('Grapes','Carrots','Kiwis','Waste');

var             
        n,m,k,t,i,x,y,cur,tt,l,r,c:longint;
        b:array[0..1010] of int64;
        f:boolean;

procedure sort(l,r:longint);

var
        i,j,x,y:int64;

begin
i:=l;
j:=r;
x:=b[(l+r) shr 1];
repeat
        while b[i]<x do inc(i);
        while b[j]>x do dec(j);
        if i<=j then begin
                y:=b[i];
                b[i]:=b[j];
                b[j]:=y;
                inc(i);
                dec(j);
        end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;

                
begin 
{$IFNDEF ONLINE_JUDGE}
reset(input,'input.txt');
rewrite(output,'output.txt');
{$ENDIF}
read(n,m,k,t);
for i:=1 to k do begin
        read(x,y);
        b[i]:=(x-1)*m+y;
end;
sort(1,k);
for i:=1 to t do begin
        read(x,y);
        tt:=(x-1)*m+y;
        l:=1;
        r:=k;
        f:=true;  
        while r-l>1 do begin
                c:=(l+r) shr 1;
                if b[c]=tt then begin
                        f:=false;
                        break;
                end else
                if b[c]<tt then begin
                        l:=c;
                        cur:=c;
                end else r:=c;
        end; 
        if f then begin
                c:=(l+r) shr 1;
                cur:=c;
        end;
        if (b[c]=tt) or (b[l]=tt) or (b[r]=tt) then writeln(nm[3]) else begin
                if (c>cur) and (b[c]<tt) then c:=cur;
                while (b[c]>tt) and (c>0) do dec(c);
                if b[l]>tt then c:=0;
                if b[r]<tt then c:=r;
                dec(tt,c);
                writeln(nm[tt mod 3]);
        end;
end;
end.